import { api, LightningElement, wire } from 'lwc';
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';

// 必须继承NavigationMixin类
export default class SayHello extends NavigationMixin(LightningElement) {
    @api name = '';
    @wire(CurrentPageReference)
    pageRef;

    // 取参数
    get urlParam() { return this.pageRef?.state?.c__name; }

    // 传参数
    openLwc() {
        // type: standard__navItemPage，代表跳转到标准Tab菜单页面（标准对象Tab、LWC Tab、Vf Tab等都支持）
        // attributes: 这里传的是Tab的APIName
        // state里面可以传地址栏参数，可以传递多个参数，必须加前缀（unmanage package用c__，managed package用package的前缀）
        this[NavigationMixin.Navigate]({ 
            type: 'standard__navItemPage', 
            attributes: { apiName: 'SayHello' }, 
            state: { c__name: 'John' } 
        }); 
    }
}